<?php

/**
 * controler para almacenes
 *
 * @author jreyes
 */



require 'class/im/alm/DP/ImAlmacenDP.class.php';
require 'class/im/alm/FN/ImAlmacenFN.class.php';
require 'class/frm/AlmacenFrm.php';

class AlmacenController extends ControllerBase
{
	
	public function listarAlmacen(){
		
		$o_ImAlmacenFN= new ImAlmacenFN();       
		
		$page = isset($this->requestVars['page']) ? $this->requestVars['page'] : 1;
		$rp = isset($this->requestVars['rp']) ? $this->requestVars['rp'] : 10;
		$sortname = isset($this->requestVars['sortname']) ? $this->requestVars['sortname'] : 'name';
		$sortorder = isset($this->requestVars['sortorder']) ? $this->requestVars['sortorder'] : 'desc';		
		$o_ImAlmacenFN->page = $page;
		$o_ImAlmacenFN->tamPag = $rp;
		$o_ImAlmacenFN->sortCampos = $sortname;
		$o_ImAlmacenFN->sortType   = $sortorder;
        if ($this->requestVars){
            if (array_key_exists('almacenId', $this->requestVars)) {
                $o_ImAlmacenFN->setAlmacenId($this->requestVars["almacenId"]) ;   
            }
            if (array_key_exists('nombre', $this->requestVars)) {
                $o_ImAlmacenFN->setNombre($this->requestVars["nombre"]);  
            }      
            if (array_key_exists('estado', $this->requestVars)) {
                $o_ImAlmacenFN->setEstado($this->requestVars["estado"]);  
            }                     
        }
        $result = $o_ImAlmacenFN->select();     
        $vars['result'] = $result;
        $vars['almacenFN'] = $o_ImAlmacenFN;
        if (array_key_exists('modoBusqueda', $this->requestVars)) {
            $vars['modoBusqueda'] = $this->requestVars["modoBusqueda"];
        }else{
            $vars['modoBusqueda'] = "";
        }
        $this->view->show("im/alm/AlmacenLista",$vars);
		
	}
	
    public function listarAlmacenForm(){
		if (!isset($vars)){
			$vars = '';
		}        
        $this->view->show("im/alm/AlmacenListaForm",$vars);
    }
    
    public function shw(){
    	$this->shwForm("view");
    }
    
    public function shwForm($view=""){
		$AlmacenFrm     = new AlmacenFrm();
        $vars           = array();
		$o_ImAlmacenFN	= new ImAlmacenFN();  
		$a_almacenRef	= $o_ImAlmacenFN->select();		
        $AlmacenFrm->listaAlmacenRef = $a_almacenRef;       
        if ($this->requestVars){
            if (array_key_exists('almacenId', $this->requestVars)) {
                if ($this->requestVars["almacenId"]){
                    $o_ImAlmacenFN= new ImAlmacenFN();       
                    $o_ImAlmacenFN->setAlmacenId($this->requestVars["almacenId"]);
                    $o_AlmacenBN = $o_ImAlmacenFN->selectByPK();
                    if ($o_AlmacenBN){
                        $AlmacenFrm->almacenId     = $o_AlmacenBN->getAlmacenId();
                        $AlmacenFrm->nombre        = $o_AlmacenBN->getNombre();
                        $AlmacenFrm->almReferencia = $o_AlmacenBN->getAlmacenRefId();
                        $AlmacenFrm->direccion1    = $o_AlmacenBN->getDirecc1();
                        $AlmacenFrm->direccion2    = $o_AlmacenBN->getDirecc2();
                        $AlmacenFrm->ciudad        = $o_AlmacenBN->getCiudad();
                        $AlmacenFrm->direccEstado  = $o_AlmacenBN->getAlmEstado();
                        $AlmacenFrm->almVentaSw    = $o_AlmacenBN->getParaVentaSw();
                        $AlmacenFrm->almCompraSw   = $o_AlmacenBN->getParaCompraSw();
                        $AlmacenFrm->estado  	   = $o_AlmacenBN->getEstado();
                        $AlmacenFrm->creaUsr  	   = $o_AlmacenBN->getCreaUsr();
                        $AlmacenFrm->creaFecha     = $o_AlmacenBN->getCreaFecha();
                        $AlmacenFrm->modifUsr      = $o_AlmacenBN->getModifUsr();
                        $AlmacenFrm->modifFecha    = $o_AlmacenBN->getModifFecha();
                    }
                }
            }
        }         
        $vars['AlmacenFrm'] = $AlmacenFrm;
        if (!isset($view) || $view==""){
        	$this->view->show("im/alm/Almacen",$vars);
        }else{
        	$this->view->show("im/alm/AlmacenView",$vars);
        }
    }

     public function registrarAlmacen(){
         if ($this->requestVars){
            $o_ImAlmacenDP  = new ImAlmacenDP();                     
            $o_ImAlmacenDP->setAlmacenId($this->requestVars["almacenId"])  ;     
            $o_ImAlmacenDP->setNombre($this->requestVars["nombre"]);
            $o_ImAlmacenDP->setAlmacenRefId($this->requestVars["almReferencia"]);
            $o_ImAlmacenDP->setDirecc1($this->requestVars["direccion1"]);
            $o_ImAlmacenDP->setDirecc2($this->requestVars["direccion2"]);
            $o_ImAlmacenDP->setCiudad($this->requestVars["ciudad"]);
            $o_ImAlmacenDP->setAlmEstado($this->requestVars["direccEstado"]);
            $o_ImAlmacenDP->setParaVentaSw($this->requestVars["almVentaSw"]);
            $o_ImAlmacenDP->setParaCompraSw($this->requestVars["almCompraSw"]);
            $o_ImAlmacenDP->setEstado($this->requestVars["estado"]);
            $o_ImAlmacenDP->setCreaUsr($this->requestVars["creaUsr"]);
            $o_ImAlmacenDP->setCreaFecha($this->requestVars["creaFecha"]);
            $o_ImAlmacenDP->setModifUsr($this->requestVars["modifUsr"]);
            $o_ImAlmacenDP->setModifFecha($this->requestVars["modifFecha"]);    
            if ($this->requestVars["almacenId"]){
                $o_ImAlmacenFN= new ImAlmacenFN();       
                $o_ImAlmacenFN->setAlmacenId($this->requestVars["almacenId"]);
                $o_AlmacenBN = $o_ImAlmacenFN->selectByPK();
                if ($o_AlmacenBN){                	                	
                    $almacenId = $this->requestVars["almacenId"];  
                    if ($o_ImAlmacenDP->update()){
                       $_SESSION['msgAlert'] = "almacen registrado";
                    }else{
                       $_SESSION['msgAlert'] = "Error al registrar";
                    }				
                }else{
                    $almacenId = $o_ImAlmacenDP->save();
                    if ($almacenId){
                       $_SESSION['msgAlert'] = "almacen registrado";
                    }else{
                       $_SESSION['msgAlert'] = "Error al registrar";
                    }
                }			
            }               
         }
     } 
     public function eliminarAlmacen(){
         if ($this->requestVars){
         	if (array_key_exists('almacenId', $this->requestVars)) {
         		$o_ImAlmacenDP  = new ImAlmacenDP();
                $o_ImAlmacenFN= new ImAlmacenFN();       
                $o_ImAlmacenFN->setAlmacenId($this->requestVars["almacenId"]);
                $o_AlmacenBN = $o_ImAlmacenFN->selectByPK();
                if ($o_AlmacenBN){       
                	// tamb validar movimientos stock / ordenes venta-deapchos-ingresos pdtes         	                	
                    if ($o_ImAlmacenDP->delete()){
                       $_SESSION['msgAlert'] = "Almacen eliminado";
                    }else{
                       $_SESSION['msgAlert'] = "Error al registrar";
                    }
                }            	
         	}
         }     	
     }
}
?>